$(() => {
    let position = null;
    AMap.plugin('AMap.Geolocation', function() {
        var geolocation = new AMap.Geolocation({
        // 是否使用高精度定位，默认：true
        enableHighAccuracy: true,
        // 设置定位超时时间，默认：无穷大
        timeout: 10000,
        // 定位按钮的停靠位置的偏移量，默认：Pixel(10, 20)
        buttonOffset: new AMap.Pixel(10, 20),
        //  定位成功后调整地图视野范围使定位位置及精度范围视野内可见，默认：false
        zoomToAccuracy: true,     
        //  定位按钮的排放位置,  RB表示右下
        buttonPosition: 'RB'
        })
    
        geolocation.getCurrentPosition()
        AMap.event.addListener(geolocation, 'complete', onComplete)
        AMap.event.addListener(geolocation, 'error', onError)
    
        function onComplete (data) {
            // data是具体的定位信息
            console.log("data =>",data);
            position = data.position;
            createMap();
        }
    
        function onError (data) {
        // 定位出错
        }
    })

    var createMap = () => {
        // 创建默认地图
        var map = new AMap.Map('container');
        map.setZoom(10);
        map.setCenter([position.M,position.O]);

        marker = new AMap.Marker({
            position: [position.M,position.O],  //标记的地图坐标 
            map: map
        });

        AMap.plugin(['AMap.ToolBar', 'AMap.Scale', 'AMap.MapType'], function() {
            toolBar = new AMap.ToolBar();  //工具条
            scale = new AMap.Scale();    //比例尺
            mapType = new AMap.MapType();   //地图种类
            map.addControl(toolBar);
            map.addControl(scale);
            map.addControl(mapType);
        })

        AMap.plugin('AMap.Autocomplete',function(){//回调函数
            //实例化Autocomplete
            var autoOptions = {
                city: "", //城市，默认全国
                input:"input_id"//使用联想输入的input的id
            };
            autocomplete= new AMap.Autocomplete(autoOptions);
            //TODO: 使用autocomplete对象调用相关功能
        })
    }
})